﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using BLL;
using DAL;


namespace SL
{
    [ServiceContract]
    interface IWebRemoteService
    {

        # region seat

        [OperationContract]
        IList<ScreenCast_Seat> GetScreenCastSeats(ScreenCast screenCast);

        # endregion

        # region cinema

        [OperationContract]
        IList<Cinema> GetCinemas();

        # endregion

        # region movie hall

        [OperationContract(Name = "GetMovieHallUsingId")]
        MovieHall GetMovieHall(int id);

        [OperationContract(Name = "GetMovieHallUsingScreenCast")]
        MovieHall GetMovieHall(ScreenCast screenCast);

        # endregion

        # region movie

        [OperationContract]
        IList<Movie> GetMovies();

        [OperationContract(Name = "GetMoviesUsingCinema")]
        IList<Movie> GetMovies(Cinema cinema);

        [OperationContract]
        Movie GetMovie(int id);

        # endregion

        # region screen cast

        [OperationContract]
        ScreenCast GetScreenCast(int id);

        [OperationContract]
        IList<ScreenCast> GetScreenCasts(Movie movie, Cinema cinema);

        # endregion

    }
}

